2004-11-10 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only
+ shorten the label if it actually overlaps the resize grip.
+
* gdk/linux-fb/*: Fix many sparse warnings. (#157253,
Kjartan Maraas.
2004-11-10 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only
+ shorten the label if it actually overlaps the resize grip.
+
* gdk/linux-fb/*: Fix many sparse warnings. (#157253,
Kjartan Maraas.
2004-11-10 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only
+ shorten the label if it actually overlaps the resize grip.
+
* gdk/linux-fb/*: Fix many sparse warnings. (#157253,
Kjartan Maraas.
2004-11-10 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only
+ shorten the label if it actually overlaps the resize grip.
+
* gdk/linux-fb/*: Fix many sparse warnings. (#157253,
Kjartan Maraas.
if (statusbar->has_resize_grip && statusbar->grip_window)
{
- GdkRectangle rect;
+ GdkRectangle rect, overlap;
GtkAllocation allocation;
get_grip_rect (statusbar, &rect);
rect.width, rect.height);
allocation = statusbar->label->allocation;
- allocation.width -= rect.width;
- if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
- allocation.x += rect.width;
-
- gtk_widget_size_allocate (statusbar->label, &allocation);
+ if (gdk_rectangle_intersect (&rect, &allocation, &overlap))
+ {
+ allocation.width -= rect.width;
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ allocation.x += rect.width;
+
+ gtk_widget_size_allocate (statusbar->label, &allocation);
+ }
}
}